import request from '@/utils/request'

/**
 * 获取全站概况统计
 * @returns {Promise<Object>} 返回ReportOverviewDTO对象
 */
export function getReportOverview() {
  return request({
    url: '/api/reports/overview',
    method: 'get'
  })
}

/**
 * 获取活动统计报告
 * @param {string|number} eventId - 活动ID
 * @returns {Promise} - 请求Promise
 */
export function getEventReport(eventId) {
  return request({
    url: `/event/${eventId}/report`,
    method: 'get'
  })
}

/**
 * 获取活动销售趋势
 * @param {string|number} eventId - 活动ID
 * @param {Object} params - 查询参数
 * @returns {Promise} - 请求Promise
 */
export function getEventSalesTrend(eventId, params) {
  return request({
    url: `/event/${eventId}/sales-trend`,
    method: 'get',
    params
  })
}

/**
 * 获取活动问卷反馈报告
 * @param {string|number} eventId - 活动ID
 * @returns {Promise} - 请求Promise
 */
export function getEventFeedbackReport(eventId) {
  return request({
    url: `/event/${eventId}/feedback-report`,
    method: 'get'
  })
}

/**
 * 导出活动报表
 * @param {string|number} eventId - 活动ID
 * @param {Object} params - 导出参数
 * @returns {Promise} - 请求Promise
 */
export function exportEventReport(eventId, params) {
  return request({
    url: `/event/${eventId}/export-report`,
    method: 'get',
    params,
    responseType: 'blob'
  })
}

/**
 * 获取活跃用户排行
 * @param {Object} params 查询参数 {top}
 * @returns {Promise<Array>} 返回ActiveUserDTO数组
 */
export function getActiveUsers(params) {
  return request({
    url: '/api/reports/active-users',
    method: 'get',
    params
  })
}

/**
 * 获取用户参与的活动列表
 * @param {string|number} userId - 用户ID
 * @param {Object} params - 查询参数
 * @returns {Promise<Array>} 返回用户参与的活动列表
 */
export function getUserEvents(userId, params) {
  return request({
    url: `/api/reports/users/${userId}/events`,
    method: 'get',
    params
  })
} 